{
    "px-sock-shop": {
        "description": "Weaveworks' Sock Shop microservices demo.",
        "instructions": [
            "Load testing has been automatically launched for px-sock-shop. If you want to visit the px-sock-shop site,",
            " run 'kubectl -n px-sock-shop get svc front-end --watch' to get the external IP.",
            " When using minikube, run 'minikube tunnel' in order to ensure the external IP is accessible.",
            " px-sock-shop may take a few more minutes to fully finish starting up."
        ]
    },
    "px-online-boutique": {
        "description": "GCP's Online Boutique microservice demo.",
        "instructions": [
            "Load testing has been automatically launched for px-online-boutique. If you want to visit the",
            " px-online-boutique site, run 'kubectl -n px-online-boutique get service frontend-external --watch'",
            " to get the external IP. When using minikube, run 'minikube tunnel' in order to ensure the external",
            " IP is accessible. px-online-boutique may take a few more minutes to fully finish starting up."
        ]
    },
    "px-kafka": {
        "description": "Microservice demo that uses Kafka to communicate between 3 services.",
        "instructions": [
            "px-kafka may take a few more minutes to fully finish starting up.",
            "",
            "To see the demo's front end: visit the `apache` external IP (with port).",
            "   Run `kubectl -n px-kafka get svc` to get the external IPs.",
            "   When using minikube, run 'minikube tunnel' in order to ensure the external IP is accessible.",
            "",
            "To turn on the invoicing delay, run the following commands:",
            "   export INVC_POD=$(kubectl get pod -n px-kafka -l io.kompose.service=invoicing -o jsonpath='{.items[0].metadata.name}')",
            "   export INVC_PID=$(kubectl exec -n px-kafka $INVC_POD -c invoicing -- pgrep java)",
            "   kubectl exec -n px-kafka $INVC_POD -c invoicing -- kill -USR1 $INVC_PID",
            "",
            "To turn off the invoicing delay, run:",
            "   kubectl exec -n px-kafka $INVC_POD -c invoicing -- kill -USR2 $INVC_PID"
        ]
    },
    "px-finagle": {
        "description": "Microservice demo that generates thriftmux traffic with finagle.",
        "instructions": [
            "Use the px/mux_data script to view the traffic that is continuously generated.",
            "Mux tracing is only enabled on newer kernels (>= 5.2) by default.",
            "Make sure your system meets these requirements before deploying."
        ]
    },
    "px-k8ssandra": {
        "description": "Microservice demo that spins up Cassandra and the Spring PetClinic demo app.",
	"instructions": ["Use the px/cql_data and px/http_data scripts to view the backend API and Cassandra traffic flowing from the demo app."],
	"dependencies": {
            "cert-manager": true
        }
    }
}
